<html>
<head><meta charset="utf-8"><title>meeting 2021-05-21 · wg-async-foundations · Zulip Chat Archive</title></head>
<h2>Stream: <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/index.html">wg-async-foundations</a></h2>
<h3>Topic: <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202021-05-21.html">meeting 2021-05-21</a></h3>

<hr>

<base href="https://rust-lang.zulipchat.com">

<head><link href="https://rust-lang.github.io/zulip_archive/style.css" rel="stylesheet"></head>

<a name="239782385"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202021-05-21/near/239782385" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> tmandry <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202021-05-21.html#239782385">(May 21 2021 at 17:02)</a>:</h4>
<p><span class="user-group-mention" data-user-group-id="1172">@WG-async-foundations</span> meeting</p>



<a name="239782609"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202021-05-21/near/239782609" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> tmandry <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202021-05-21.html#239782609">(May 21 2021 at 17:03)</a>:</h4>
<p>Agenda is the same as always :)</p>
<ul>
<li>[nikomataskis] Update on vision doc</li>
<li>[tmandry] New issue triage</li>
</ul>



<a name="239782660"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202021-05-21/near/239782660" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Doc Jones <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202021-05-21.html#239782660">(May 21 2021 at 17:03)</a>:</h4>
<p><span aria-label="wave" class="emoji emoji-1f44b" role="img" title="wave">:wave:</span></p>



<a name="239782663"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202021-05-21/near/239782663" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> tmandry <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202021-05-21.html#239782663">(May 21 2021 at 17:03)</a>:</h4>
<p>We could do triage first this time</p>



<a name="239782720"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202021-05-21/near/239782720" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> tmandry <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202021-05-21.html#239782720">(May 21 2021 at 17:04)</a>:</h4>
<p>There's just one issue anyway</p>



<a name="239782743"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202021-05-21/near/239782743" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Zeeshan Ali <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202021-05-21.html#239782743">(May 21 2021 at 17:04)</a>:</h4>
<p>/me has been on vacation (more or less)</p>



<a name="239782757"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202021-05-21/near/239782757" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> tmandry <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202021-05-21.html#239782757">(May 21 2021 at 17:04)</a>:</h4>
<h2>Is this difference in lifetime elision for impl Trait arguments between async and non-async function intended? <a href="https://github.com/rust-lang/rust/issues/85417">#85417</a></h2>



<a name="239782784"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202021-05-21/near/239782784" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202021-05-21.html#239782784">(May 21 2021 at 17:04)</a>:</h4>
<p>Hmm</p>



<a name="239782881"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202021-05-21/near/239782881" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202021-05-21.html#239782881">(May 21 2021 at 17:05)</a>:</h4>
<p>I wonder why that happens, I thought I had set things up so that elsion would behave the same</p>



<a name="239782919"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202021-05-21/near/239782919" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202021-05-21.html#239782919">(May 21 2021 at 17:05)</a>:</h4>
<p>I'm also trying to decide which behavior is correct :)</p>



<a name="239782996"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202021-05-21/near/239782996" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202021-05-21.html#239782996">(May 21 2021 at 17:06)</a>:</h4>
<p>I'd probably say the sync function is correct, just by default</p>



<a name="239783089"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202021-05-21/near/239783089" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202021-05-21.html#239783089">(May 21 2021 at 17:07)</a>:</h4>
<p>I don't know that we have a definitive spec of the current status of elision especially w/r/t <code>impl Trait</code></p>



<a name="239783095"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202021-05-21/near/239783095" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> tmandry <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202021-05-21.html#239783095">(May 21 2021 at 17:07)</a>:</h4>
<p>yeah I'm also confused about which one is correct, and why</p>



<a name="239783101"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202021-05-21/near/239783101" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202021-05-21.html#239783101">(May 21 2021 at 17:07)</a>:</h4>
<p>I'd have to do a bit of digging</p>



<a name="239783132"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202021-05-21/near/239783132" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202021-05-21.html#239783132">(May 21 2021 at 17:07)</a>:</h4>
<p>I cna imagine some reasons to want to "keep space" for us to change things here</p>



<a name="239783152"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202021-05-21/near/239783152" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202021-05-21.html#239783152">(May 21 2021 at 17:07)</a>:</h4>
<p>but I suspect that the correct desugaring is the one suggested by the compiler</p>



<a name="239783221"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202021-05-21/near/239783221" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202021-05-21.html#239783221">(May 21 2021 at 17:08)</a>:</h4>
<p>I have for example sometimes thought it would be cool if <code>where T: Something&lt;'_&gt;</code> were equivalent to <code>where for&lt;'a&gt; T: Something&lt;'a&gt;</code></p>



<a name="239783287"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202021-05-21/near/239783287" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202021-05-21.html#239783287">(May 21 2021 at 17:08)</a>:</h4>
<p>and by analogy one might expect <code>impl Something&lt;'_&gt;</code> to be have the same way</p>



<a name="239783299"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202021-05-21/near/239783299" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202021-05-21.html#239783299">(May 21 2021 at 17:08)</a>:</h4>
<p>of course, that's an input type, not an output type</p>



<a name="239783358"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202021-05-21/near/239783358" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202021-05-21.html#239783358">(May 21 2021 at 17:09)</a>:</h4>
<div class="codehilite"><pre><span></span><code>error[E0106]: missing lifetime specifier
 --&gt; src/main.rs:3:26
  |
3 | fn foo(x: impl Something&lt;&#39;_&gt;) { }
  |                          ^^ expected named lifetime parameter
  |
help: consider introducing a named lifetime parameter
  |
3 | fn foo&lt;&#39;a&gt;(x: impl Something&lt;&#39;a&gt;) { }
  |       ^^^^                   ^^
</code></pre></div>



<a name="239783376"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202021-05-21/near/239783376" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> tmandry <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202021-05-21.html#239783376">(May 21 2021 at 17:09)</a>:</h4>
<p>I mean it makes sense for function types, but we could special case that (do we?)</p>



<a name="239783389"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202021-05-21/near/239783389" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202021-05-21.html#239783389">(May 21 2021 at 17:09)</a>:</h4>
<p><a href="https://play.rust-lang.org/?version=stable&amp;mode=debug&amp;edition=2018&amp;gist=0d6190ff9b4f9ea51af9a1b95fd098e9">playground</a></p>



<a name="239783397"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202021-05-21/near/239783397" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202021-05-21.html#239783397">(May 21 2021 at 17:09)</a>:</h4>
<p>for nested fn types?</p>



<a name="239783411"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202021-05-21/near/239783411" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202021-05-21.html#239783411">(May 21 2021 at 17:09)</a>:</h4>
<p>e.g., fn foo(x: fn()) or <code>x: impl Fn()</code>?</p>



<a name="239783415"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202021-05-21/near/239783415" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202021-05-21.html#239783415">(May 21 2021 at 17:09)</a>:</h4>
<p>those are different</p>



<a name="239783438"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202021-05-21/near/239783438" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202021-05-21.html#239783438">(May 21 2021 at 17:09)</a>:</h4>
<p>they introduce their <em>own</em> elision scope</p>



<a name="239783439"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202021-05-21/near/239783439" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> tmandry <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202021-05-21.html#239783439">(May 21 2021 at 17:09)</a>:</h4>
<p>yeah</p>



<a name="239783511"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202021-05-21/near/239783511" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202021-05-21.html#239783511">(May 21 2021 at 17:10)</a>:</h4>
<p>oh but</p>



<a name="239783519"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202021-05-21/near/239783519" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202021-05-21.html#239783519">(May 21 2021 at 17:10)</a>:</h4>
<p>we <em>do</em> compile <code>dyn Something&lt;'_&gt;</code></p>



<a name="239783541"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202021-05-21/near/239783541" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202021-05-21.html#239783541">(May 21 2021 at 17:10)</a>:</h4>
<p>and I think for sure <code>impl</code> and <code>dyn</code> ought to be consistent</p>



<a name="239783560"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202021-05-21/near/239783560" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202021-05-21.html#239783560">(May 21 2021 at 17:10)</a>:</h4>
<div class="codehilite" data-code-language="Rust"><pre><span></span><code><span class="k">trait</span><span class="w"> </span><span class="n">Something</span><span class="o">&lt;'</span><span class="na">a</span><span class="o">&gt;</span><span class="w"> </span><span class="p">{</span><span class="w"> </span><span class="p">}</span><span class="w"></span>

<span class="k">fn</span> <span class="nf">foo</span><span class="p">(</span><span class="n">x</span>: <span class="kp">&amp;</span><span class="nc">dyn</span><span class="w"> </span><span class="n">Something</span><span class="o">&lt;'</span><span class="nb">_</span><span class="o">&gt;</span><span class="p">)</span><span class="w"> </span><span class="p">{</span><span class="w"> </span><span class="p">}</span><span class="w"></span>

<span class="k">fn</span> <span class="nf">main</span><span class="p">()</span><span class="w"> </span><span class="p">{</span><span class="w"> </span><span class="p">}</span><span class="w"></span>
</code></pre></div>



<a name="239783624"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202021-05-21/near/239783624" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202021-05-21.html#239783624">(May 21 2021 at 17:11)</a>:</h4>
<p>more to the point:</p>



<a name="239783626"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202021-05-21/near/239783626" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> tmandry <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202021-05-21.html#239783626">(May 21 2021 at 17:11)</a>:</h4>
<p>yeah that's odd</p>



<a name="239783628"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202021-05-21/near/239783628" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202021-05-21.html#239783628">(May 21 2021 at 17:11)</a>:</h4>
<div class="codehilite" data-code-language="Rust"><pre><span></span><code><span class="k">trait</span><span class="w"> </span><span class="n">Something</span><span class="w"> </span><span class="p">{</span><span class="w"> </span><span class="k">type</span> <span class="nc">Item</span><span class="p">;</span><span class="w"> </span><span class="p">}</span><span class="w"></span>

<span class="k">fn</span> <span class="nf">foo</span><span class="p">(</span><span class="n">x</span>: <span class="kp">&amp;</span><span class="nc">dyn</span><span class="w"> </span><span class="n">Something</span><span class="o">&lt;</span><span class="n">Item</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="o">&amp;</span><span class="kt">u32</span><span class="o">&gt;</span><span class="p">)</span><span class="w"> </span><span class="p">{</span><span class="w"> </span><span class="p">}</span><span class="w"></span>

<span class="k">fn</span> <span class="nf">main</span><span class="p">()</span><span class="w"> </span><span class="p">{</span><span class="w"> </span><span class="p">}</span><span class="w"></span>
</code></pre></div>



<a name="239783629"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202021-05-21/near/239783629" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202021-05-21.html#239783629">(May 21 2021 at 17:11)</a>:</h4>
<p>so I think that we probably <em>should</em> accept it</p>



<a name="239783650"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202021-05-21/near/239783650" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202021-05-21.html#239783650">(May 21 2021 at 17:11)</a>:</h4>
<p>but also we should write-up and clearly document our rules</p>



<a name="239783719"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202021-05-21/near/239783719" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202021-05-21.html#239783719">(May 21 2021 at 17:12)</a>:</h4>
<p><a href="https://doc.rust-lang.org/nightly/reference/lifetime-elision.html?highlight=elision#lifetime-elision">https://doc.rust-lang.org/nightly/reference/lifetime-elision.html?highlight=elision#lifetime-elision</a></p>



<a name="239783732"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202021-05-21/near/239783732" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202021-05-21.html#239783732">(May 21 2021 at 17:12)</a>:</h4>
<p>doesn't seem to cover these cases</p>



<a name="239783808"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202021-05-21/near/239783808" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202021-05-21.html#239783808">(May 21 2021 at 17:13)</a>:</h4>
<p>I would also like to know why async behaes differently</p>



<a name="239783910"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202021-05-21/near/239783910" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> tmandry <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202021-05-21.html#239783910">(May 21 2021 at 17:13)</a>:</h4>
<p>me too</p>



<a name="239783927"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202021-05-21/near/239783927" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> tmandry <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202021-05-21.html#239783927">(May 21 2021 at 17:14)</a>:</h4>
<p>that might be an easy investigation for someone to do</p>



<a name="239783965"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202021-05-21/near/239783965" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202021-05-21.html#239783965">(May 21 2021 at 17:14)</a>:</h4>
<p>it is a bit of a pain because</p>



<a name="239783975"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202021-05-21/near/239783975" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202021-05-21.html#239783975">(May 21 2021 at 17:14)</a>:</h4>
<p>elision happens <em>after</em> HIR desugaring</p>



<a name="239784000"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202021-05-21/near/239784000" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202021-05-21.html#239784000">(May 21 2021 at 17:14)</a>:</h4>
<p>and HIR desugaring is when we desugar <code>async fn</code></p>



<a name="239784011"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202021-05-21/near/239784011" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202021-05-21.html#239784011">(May 21 2021 at 17:14)</a>:</h4>
<p>so I had to tweak the setup to make it behave the same</p>



<a name="239784061"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202021-05-21/near/239784061" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202021-05-21.html#239784061">(May 21 2021 at 17:14)</a>:</h4>
<p>I'm looking for the comment</p>



<a name="239784110"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202021-05-21/near/239784110" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> tmandry <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202021-05-21.html#239784110">(May 21 2021 at 17:15)</a>:</h4>
<p>I guess it isn't as important if async actually has the behavior we want</p>



<a name="239784138"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202021-05-21/near/239784138" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202021-05-21.html#239784138">(May 21 2021 at 17:15)</a>:</h4>
<p>well...</p>



<a name="239784153"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202021-05-21/near/239784153" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202021-05-21.html#239784153">(May 21 2021 at 17:15)</a>:</h4>
<p>it might lead to other bugs</p>



<a name="239784291"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202021-05-21/near/239784291" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> tmandry <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202021-05-21.html#239784291">(May 21 2021 at 17:16)</a>:</h4>
<p>so it seems like in the HIR desugaring the lifetime has already been un-elided</p>
<div class="codehilite"><pre><span></span><code>async fn foo&lt;&#39;a, impl Iterator&lt;Item = &amp;&#39;a u32&gt;: Iterator&lt;Item =
             &amp;&#39;a u32&gt;&gt;(_: impl Iterator&lt;Item = &amp;&#39;a u32&gt;)
</code></pre></div>



<a name="239784351"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202021-05-21/near/239784351" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> tmandry <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202021-05-21.html#239784351">(May 21 2021 at 17:17)</a>:</h4>
<p>playground can show this now :)</p>



<a name="239784451"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202021-05-21/near/239784451" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202021-05-21.html#239784451">(May 21 2021 at 17:17)</a>:</h4>
<p><a href="https://github.com/rust-lang/rust/blob/467967da09ca525b08fa79743bb8126f725a8927/compiler/rustc_ast_lowering/src/item.rs#L1122-L1138">https://github.com/rust-lang/rust/blob/467967da09ca525b08fa79743bb8126f725a8927/compiler/rustc_ast_lowering/src/item.rs#L1122-L1138</a></p>



<a name="239784504"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202021-05-21/near/239784504" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202021-05-21.html#239784504">(May 21 2021 at 17:18)</a>:</h4>
<p>hmm</p>



<a name="239784507"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202021-05-21/near/239784507" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202021-05-21.html#239784507">(May 21 2021 at 17:18)</a>:</h4>
<p>neat</p>



<a name="239784528"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202021-05-21/near/239784528" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> tmandry <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202021-05-21.html#239784528">(May 21 2021 at 17:18)</a>:</h4>
<p>that link is a 404 for me</p>



<a name="239784538"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202021-05-21/near/239784538" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202021-05-21.html#239784538">(May 21 2021 at 17:18)</a>:</h4>
<p>bother</p>



<a name="239784542"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202021-05-21/near/239784542" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202021-05-21.html#239784542">(May 21 2021 at 17:18)</a>:</h4>
<p>stupid vscode plugin</p>



<a name="239784545"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202021-05-21/near/239784545" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202021-05-21.html#239784545">(May 21 2021 at 17:18)</a>:</h4>
<p>only sometimes works</p>



<a name="239784556"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202021-05-21/near/239784556" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202021-05-21.html#239784556">(May 21 2021 at 17:18)</a>:</h4>
<p>desn't matter</p>



<a name="239784579"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202021-05-21/near/239784579" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202021-05-21.html#239784579">(May 21 2021 at 17:18)</a>:</h4>
<p>well, I say we investigate a bit</p>



<a name="239784596"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202021-05-21/near/239784596" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> tmandry <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202021-05-21.html#239784596">(May 21 2021 at 17:19)</a>:</h4>
<p>I assume <a href="https://github.com/rust-lang/rust/blob/af2ed1b51887ede4d766ee123d3fa216970d1fdd/compiler/rustc_ast_lowering/src/item.rs#L1122-L1138">this one</a> still goes where you were pointing</p>



<a name="239784685"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202021-05-21/near/239784685" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> tmandry <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202021-05-21.html#239784685">(May 21 2021 at 17:19)</a>:</h4>
<p>okay, I'll put it on deck</p>



<a name="239784809"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202021-05-21/near/239784809" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202021-05-21.html#239784809">(May 21 2021 at 17:20)</a>:</h4>
<p>but we should add a comment with the behavior of sync in different cases</p>



<a name="239784913"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202021-05-21/near/239784913" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> tmandry <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202021-05-21.html#239784913">(May 21 2021 at 17:21)</a>:</h4>
<p>yeah</p>



<a name="239784919"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202021-05-21/near/239784919" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> tmandry <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202021-05-21.html#239784919">(May 21 2021 at 17:21)</a>:</h4>
<p>I can</p>



<a name="239784920"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202021-05-21/near/239784920" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202021-05-21.html#239784920">(May 21 2021 at 17:21)</a>:</h4>
<p><a href="https://github.com/rust-lang/rust/blob/af2ed1b51887ede4d766ee123d3fa216970d1fdd/compiler/rustc_ast_lowering/src/lib.rs#L1920-L1922">https://github.com/rust-lang/rust/blob/af2ed1b51887ede4d766ee123d3fa216970d1fdd/compiler/rustc_ast_lowering/src/lib.rs#L1920-L1922</a></p>



<a name="239784924"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202021-05-21/near/239784924" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> tmandry <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202021-05-21.html#239784924">(May 21 2021 at 17:21)</a>:</h4>
<p>unless you want to</p>



<a name="239784945"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202021-05-21/near/239784945" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202021-05-21.html#239784945">(May 21 2021 at 17:21)</a>:</h4>
<p>so that's the code I was <em>talking</em> about</p>



<a name="239784949"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202021-05-21/near/239784949" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202021-05-21.html#239784949">(May 21 2021 at 17:21)</a>:</h4>
<p>but I'm not sure it's relevant</p>



<a name="239784956"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202021-05-21/near/239784956" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202021-05-21.html#239784956">(May 21 2021 at 17:21)</a>:</h4>
<p>it is (I think) specific to the return type</p>



<a name="239785046"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202021-05-21/near/239785046" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202021-05-21.html#239785046">(May 21 2021 at 17:22)</a>:</h4>
<p>a ha!</p>



<a name="239785050"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202021-05-21/near/239785050" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202021-05-21.html#239785050">(May 21 2021 at 17:22)</a>:</h4>
<div class="codehilite" data-code-language="Rust"><pre><span></span><code><span class="w">        </span><span class="kd">let</span><span class="w"> </span><span class="n">lt_mode</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="n">make_ret_async</span><span class="p">.</span><span class="n">is_some</span><span class="p">()</span><span class="w"> </span><span class="p">{</span><span class="w"></span>
<span class="w">            </span><span class="c1">// In `async fn`, argument-position elided lifetimes</span>
<span class="w">            </span><span class="c1">// must be transformed into fresh generic parameters so that</span>
<span class="w">            </span><span class="c1">// they can be applied to the opaque `impl Trait` return type.</span>
<span class="w">            </span><span class="n">AnonymousLifetimeMode</span>::<span class="n">CreateParameter</span><span class="w"></span>
<span class="w">        </span><span class="p">}</span><span class="w"> </span><span class="k">else</span><span class="w"> </span><span class="p">{</span><span class="w"></span>
<span class="w">            </span><span class="bp">self</span><span class="p">.</span><span class="n">anonymous_lifetime_mode</span><span class="w"></span>
<span class="w">        </span><span class="p">};</span><span class="w"></span>
</code></pre></div>



<a name="239785090"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202021-05-21/near/239785090" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202021-05-21.html#239785090">(May 21 2021 at 17:22)</a>:</h4>
<p><a href="https://github.com/rust-lang/rust/blob/master/compiler/rustc_ast_lowering/src/lib.rs#L1800-L1807">https://github.com/rust-lang/rust/blob/master/compiler/rustc_ast_lowering/src/lib.rs#L1800-L1807</a></p>



<a name="239785103"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202021-05-21/near/239785103" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202021-05-21.html#239785103">(May 21 2021 at 17:22)</a>:</h4>
<p>so...that accounts for the difference in <em>behavior</em></p>



<a name="239785109"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202021-05-21/near/239785109" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> tmandry <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202021-05-21.html#239785109">(May 21 2021 at 17:22)</a>:</h4>
<p>yeah</p>



<a name="239785160"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202021-05-21/near/239785160" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202021-05-21.html#239785160">(May 21 2021 at 17:23)</a>:</h4>
<p>I wouldn't be surprised if there are some other discrepancies</p>



<a name="239785164"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202021-05-21/near/239785164" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202021-05-21.html#239785164">(May 21 2021 at 17:23)</a>:</h4>
<p>though I'm not 100% sure what they would be</p>



<a name="239785168"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202021-05-21/near/239785168" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> tmandry <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202021-05-21.html#239785168">(May 21 2021 at 17:23)</a>:</h4>
<p>I hate how the HIR just prints <code>-&gt; /*impl Trait*/</code> for the return type</p>



<a name="239785360"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202021-05-21/near/239785360" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202021-05-21.html#239785360">(May 21 2021 at 17:24)</a>:</h4>
<p>I think a proper fix for this bug requires first trying to be exhastive about different sorts of things that might appear in arguments</p>



<a name="239785576"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202021-05-21/near/239785576" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202021-05-21.html#239785576">(May 21 2021 at 17:26)</a>:</h4>
<p>to look for other discrepancies</p>



<a name="239785664"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202021-05-21/near/239785664" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> tmandry <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202021-05-21.html#239785664">(May 21 2021 at 17:27)</a>:</h4>
<p>yeah.. it's unfortunate</p>



<a name="239785843"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202021-05-21/near/239785843" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> tmandry <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202021-05-21.html#239785843">(May 21 2021 at 17:28)</a>:</h4>
<p>leaving a comment</p>



<a name="239785894"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202021-05-21/near/239785894" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202021-05-21.html#239785894">(May 21 2021 at 17:29)</a>:</h4>
<p>great</p>



<a name="239785932"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202021-05-21/near/239785932" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> tmandry <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202021-05-21.html#239785932">(May 21 2021 at 17:29)</a>:</h4>
<p>Still typing but can move on to vision doc now</p>



<a name="239785947"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202021-05-21/near/239785947" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> tmandry <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202021-05-21.html#239785947">(May 21 2021 at 17:29)</a>:</h4>
<p>if you want to give an update :)</p>



<a name="239785964"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202021-05-21/near/239785964" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202021-05-21.html#239785964">(May 21 2021 at 17:29)</a>:</h4>
<p>ok</p>



<a name="239785973"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202021-05-21/near/239785973" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202021-05-21.html#239785973">(May 21 2021 at 17:29)</a>:</h4>
<h1>Async Vision Doc</h1>



<a name="239785991"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202021-05-21/near/239785991" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202021-05-21.html#239785991">(May 21 2021 at 17:30)</a>:</h4>
<p>The main update I have is the work that <span class="user-mention" data-user-id="116883">@tmandry</span> and I did around the <a class="stream-topic" data-stream-id="187312" href="/#narrow/stream/187312-wg-async-foundations/topic/Harmonic.20synthesis">#wg-async-foundations &gt; Harmonic synthesis</a></p>



<a name="239786133"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202021-05-21/near/239786133" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202021-05-21.html#239786133">(May 21 2021 at 17:30)</a>:</h4>
<p>I have been working on converting that into <a href="https://github.com/nikomatsakis/skill-tree">skill-tree format</a></p>



<a name="239786148"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202021-05-21/near/239786148" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> tmandry <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202021-05-21.html#239786148">(May 21 2021 at 17:30)</a>:</h4>
<p>and I still have bohemian rhapsody stuck in my head from looking at that doc :)</p>



<a name="239786262"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202021-05-21/near/239786262" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202021-05-21.html#239786262">(May 21 2021 at 17:31)</a>:</h4>
<p>I want to try and capture not only the relationships between things but also </p>
<ul>
<li>which Rust teams does the work involve</li>
<li>what state is it on a scale from "no clue how to do this" to "PR approved"</li>
</ul>



<a name="239786324"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202021-05-21/near/239786324" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202021-05-21.html#239786324">(May 21 2021 at 17:32)</a>:</h4>
<p>one thing that's interesting is that sometimes the dependencies between things don't mean that we can't make progress on indiidual items</p>



<a name="239786374"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202021-05-21/near/239786374" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202021-05-21.html#239786374">(May 21 2021 at 17:32)</a>:</h4>
<p>one thing that is not in that document, also, is <em>prioritization</em></p>



<a name="239786385"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202021-05-21/near/239786385" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202021-05-21.html#239786385">(May 21 2021 at 17:32)</a>:</h4>
<p>e.g., which of those work items should people focus on first and why?</p>



<a name="239786398"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202021-05-21/near/239786398" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202021-05-21.html#239786398">(May 21 2021 at 17:32)</a>:</h4>
<p>this is prtly why I wanted to look at it a bit by team, too</p>



<a name="239786448"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202021-05-21/near/239786448" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202021-05-21.html#239786448">(May 21 2021 at 17:33)</a>:</h4>
<p>anyway, apart from that, there are some PRs, it looks like we're getting close to merging the various open PRs</p>



<a name="239786876"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202021-05-21/near/239786876" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202021-05-21.html#239786876">(May 21 2021 at 17:35)</a>:</h4>
<p>I guess one other thing</p>



<a name="239786973"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202021-05-21/near/239786973" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> tmandry <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202021-05-21.html#239786973">(May 21 2021 at 17:36)</a>:</h4>
<p>still working on writing stories with fuchsia folks. one or two are outlined and ready to be made into PRs</p>



<a name="239787033"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202021-05-21/near/239787033" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202021-05-21.html#239787033">(May 21 2021 at 17:36)</a>:</h4>
<p>I've been thinking a fair bit about some of the open questions around async fn in traits (mostly: how to handle dyn + async drop) and how to handle "scoped tasks" / structured concurrency. I'm going to try to create "survey docs" that cover the various alternatives.</p>



<a name="239787076"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202021-05-21/near/239787076" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202021-05-21.html#239787076">(May 21 2021 at 17:37)</a>:</h4>
<p>Folks might be intereted in <a class="stream-topic" data-stream-id="187312" href="/#narrow/stream/187312-wg-async-foundations/topic/.22inline.22.20async.20fn.20in.20traits">#wg-async-foundations &gt; "inline" async fn in traits</a>, though, which I'm still fairly excited about, as I think it's hte only way to handle an AsyncDrop trait that works like people expect.</p>



<a name="239787156"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202021-05-21/near/239787156" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202021-05-21.html#239787156">(May 21 2021 at 17:37)</a>:</h4>
<p>Though <span class="user-mention" data-user-id="211731">@Sean McArthur</span> pointed out that it would not permit simultaneous AsyncRead and AsyncWrite polling on the same value. Seems true.</p>



<a name="239787267"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202021-05-21/near/239787267" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202021-05-21.html#239787267">(May 21 2021 at 17:38)</a>:</h4>
<p>(I'm still curious <span class="user-mention" data-user-id="211731">@Sean McArthur</span> to discuss whether a "split-like" approach could work and what the implications of that would be.)</p>



<a name="239787294"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202021-05-21/near/239787294" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202021-05-21.html#239787294">(May 21 2021 at 17:38)</a>:</h4>
<p>Oh, hmm</p>



<a name="239787298"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202021-05-21/near/239787298" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202021-05-21.html#239787298">(May 21 2021 at 17:38)</a>:</h4>
<p>That gives me an idea</p>



<a name="239787361"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202021-05-21/near/239787361" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202021-05-21.html#239787361">(May 21 2021 at 17:39)</a>:</h4>
<p>If you don't have variables live across a yield, you could push the <em>state counter</em> ("what state am I in") out into the caller</p>



<a name="239787376"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202021-05-21/near/239787376" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202021-05-21.html#239787376">(May 21 2021 at 17:39)</a>:</h4>
<p>then you could support <code>&amp;self</code> async fns too</p>



<a name="239787465"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202021-05-21/near/239787465" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202021-05-21.html#239787465">(May 21 2021 at 17:40)</a>:</h4>
<p>anyway, that's all I've got :)</p>



<a name="239787478"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202021-05-21/near/239787478" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202021-05-21.html#239787478">(May 21 2021 at 17:40)</a>:</h4>
<p>open floor?</p>



<a name="239787669"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202021-05-21/near/239787669" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> tmandry <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202021-05-21.html#239787669">(May 21 2021 at 17:41)</a>:</h4>
<p><span class="user-mention silent" data-user-id="116009">nikomatsakis</span> <a href="#narrow/stream/187312-wg-async-foundations/topic/meeting.202021-05-21/near/239787361">said</a>:</p>
<blockquote>
<p>If you don't have variables live across a yield, you could push the <em>state counter</em> ("what state am I in") out into the caller</p>
</blockquote>
<p>that seems like a special case of the alloca idea for dyn, except it's just a boolean flag instead of an arbitrary size you need to allocate</p>



<a name="239787737"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202021-05-21/near/239787737" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> tmandry <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202021-05-21.html#239787737">(May 21 2021 at 17:42)</a>:</h4>
<p>but if that property were on the trait you'd know at compile time</p>



<a name="239787903"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202021-05-21/near/239787903" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> tmandry <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202021-05-21.html#239787903">(May 21 2021 at 17:44)</a>:</h4>
<p>but it sounds like a pretty heavy constraint to put in the trait definition to me</p>



<a name="239787973"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202021-05-21/near/239787973" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202021-05-21.html#239787973">(May 21 2021 at 17:44)</a>:</h4>
<p>it covers a number of cases</p>



<a name="239787998"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202021-05-21/near/239787998" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202021-05-21.html#239787998">(May 21 2021 at 17:44)</a>:</h4>
<p>it also makes it possible to implement on types like <code>&amp;T</code> without any sort of special case</p>



<a name="239788020"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202021-05-21/near/239788020" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202021-05-21.html#239788020">(May 21 2021 at 17:44)</a>:</h4>
<p>I thnk I prefer moving the state counter outside either way</p>



<a name="239788027"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202021-05-21/near/239788027" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202021-05-21.html#239788027">(May 21 2021 at 17:44)</a>:</h4>
<p>just as an optimization</p>



<a name="239788048"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202021-05-21/near/239788048" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202021-05-21.html#239788048">(May 21 2021 at 17:45)</a>:</h4>
<p>it's only needed <em>while you are driving the await</em></p>



<a name="239788061"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202021-05-21/near/239788061" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202021-05-21.html#239788061">(May 21 2021 at 17:45)</a>:</h4>
<p>so it's silly to have it inside most of the time</p>



<a name="239788186"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202021-05-21/near/239788186" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> tmandry <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202021-05-21.html#239788186">(May 21 2021 at 17:46)</a>:</h4>
<p>I mean I think having it inside makes sense for today's <code>async fn</code> futures</p>



<a name="239788221"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202021-05-21/near/239788221" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> tmandry <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202021-05-21.html#239788221">(May 21 2021 at 17:46)</a>:</h4>
<p>maybe we should make another topic for this :)</p>



<a name="239788311"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202021-05-21/near/239788311" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> tmandry <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202021-05-21.html#239788311">(May 21 2021 at 17:47)</a>:</h4>
<p>for the meeting, I don't have anything left to discuss</p>



<a name="239788336"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202021-05-21/near/239788336" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> tmandry <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202021-05-21.html#239788336">(May 21 2021 at 17:47)</a>:</h4>
<p><span class="user-mention" data-user-id="261224">@triagebot</span> end-meeting</p>



<a name="239788338"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/meeting%202021-05-21/near/239788338" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> triagebot <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/meeting.202021-05-21.html#239788338">(May 21 2021 at 17:47)</a>:</h4>
<p>Does anyone have something to bring up?<br>
React with <span aria-label="working on it" class="emoji emoji-1f6e0" role="img" title="working on it">:working_on_it:</span> if you have something to say.<br>
React with <span aria-label="all good" class="emoji emoji-2705" role="img" title="all good">:all_good:</span> if you're ready to end the meeting.</p>



<hr><p>Last updated: Aug 07 2021 at 22:04 UTC</p>
</html>